package com.flame.shapeville.bean;

import com.flame.shapeville.util.YamlIgnore;
import lombok.Data;

import java.util.List;

/**
 * Represents a course in the educational system.
 * <p>
 * A course contains basic information such as its ID, name, and associated tasks.
 *
 * @author Flame Dev Team
 * @version 1.0
 * @since 2025-05-08
 */
@Data
public class Course {
    /**
     * The unique identifier of the course.
     */
    private String id;

    /**
     * The name of the course.
     */
    private String name;

    /**
     * A list of tasks associated with the course.
     * This field is ignored during YAML serialization due to the {@link YamlIgnore} annotation.
     */
    @YamlIgnore
    private List<Task> tasks;
}
